package com.example.oasystem.service;

import com.example.oasystem.entity.mail.AoaInMailListOfSun;
import com.example.oasystem.entity.mail.AoaMailReciverOfSun;
import com.example.oasystem.entity.mail.AoaMailnumberOfl;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface AoaInMailListServiceOfSun {

    PageInfo<AoaInMailListOfSun> selectInboxNum(int pageNum, int pageSize, String baseKey, long userId);


    PageInfo<AoaInMailListOfSun> selectOutboxNum(int pageNum, int pageSize, String baseKey, long userId);

    PageInfo<AoaInMailListOfSun> selectDraftBoxNum(int pageNum, int pageSize, String baseKey, long userId);

    PageInfo<AoaInMailListOfSun> selectMailTrashCanNum(int pageNum, int pageSize, String baseKey, long userId);

    PageInfo<AoaInMailListOfSun> selectReciverTrashCanNum(int pageNum, int pageSize, String baseKey, long userId);

    PageInfo<AoaInMailListOfSun> selectMailReciverTrashCanNum(int pageNum, int pageSize, String baseKey, long userId);

    AoaInMailListOfSun selectOneMail(long id);

    List<AoaMailnumberOfl> selectMailNum(long userId);

    long addMail(AoaInMailListOfSun aoaInMailListOfSun);

    void addMailNum(AoaMailReciverOfSun aoaMailnumberOfSun);

    void updateMailInbox(int isRead, int isStar, int isDel, List<Long> ids,long userId);

    void updateMailOutbox(int mailStar,int mailDel,int mailPush,List<Long> ids);

    void deleteMail(long userId,List<Long> ids);


    void updateReduction(long userId, List<Long> ids);


    void updateMail(AoaInMailListOfSun mail);

    void deleteMailDraftbox(Long userId, List<Long> ids);
}
